Position tracking system for head-mounted display systems

ABSTRACT

Systems and methods for tracking the position of a head-mounted display (HMD) system component. The HMD component may carry a plurality of angle sensitive detectors that are able to detect the angle of light emitted from a light source. The HMD component may include one or more scatter detectors that detect whether light has been scattered or reflected, so such light can be ignored. Control circuitry causes light sources to emit light according a specified pattern, and receives sensor data from the plurality of angle sensitive detectors. The processor may process the sensor data and scatter detector data, for example using machine learning or other techniques, to track a position of the HMD component. An angle sensitive detector may include a spatially-varying polarizer having a position-varying polarizing pattern and one or more polarizer layers that together are operative to detect the angle of impinging light.

BACKGROUND Technical Field

The present disclosure generally relates to position tracking forobjects, such as head-mounted display systems and controllers associatedwith head-mounted display systems.

Description of the Related Art

One current generation of virtual reality (“VR”) or augmented reality(“AR”) experiences is created using head-mounted displays (“HMDs”),which can be coupled to a stationary computer (such as a personalcomputer (“PC”), laptop, or game console), combined and/or integratedwith a smart phone and/or its associated display, or self-contained.Generally, HMDs are display devices, worn on the head of a user, whichhas a small display device in front of one (monocular HMD) or each eye(binocular HMD). The display units are typically miniaturized and mayinclude CRT, LCD, Liquid crystal on silicon (LCos), or OLEDtechnologies, for example. A binocular HMD has the potential to displaya different image to each eye. This capability is used to displaystereoscopic images.

Demand for displays with heightened performance has increased with thedevelopment of smart phones, high-definition televisions, as well asother electronic devices. The growing popularity of virtual reality andaugmented reality systems, particularly those using HMDs, has furtherincreased such demand. Virtual reality systems typically envelop awearer's eyes completely and substitute a “virtual” reality for theactual or physical view (or actual reality) in front of the wearer,while augmented reality systems typically provide a semi-transparent ortransparent overlay of one or more screens in front of a wearer's eyessuch that actual view is augmented with additional information, andmediated reality systems may similarly present information to a viewerthat combines real-world elements with virtual elements. In many virtualreality and augmented reality systems, the movement of a wearer of sucha head-mounted display may be tracked in various manners, such as viasensors in the head-mounted display, controllers, or external sensors,in order to enable the images being shown to reflect user movements andto allow for an interactive environment.

Position tracking allows an HMD system to estimate the position of oneor more components relative to each other and the surroundingenvironment. Position tracking may utilize a combination of hardware andsoftware to achieve the detection of the absolute position of componentsof an HMD system. Position tracking is an important technology for AR orVR systems, making it possible to track movement of HMDs (and/orcontrollers or other peripherals) with six degrees of freedom (6 DOF).

Position tracking technology may be used to change the viewpoint of theuser to reflect different actions like jumping or crouching, and mayallow for an accurate representation of the user's hands and otherobjects in the virtual environment. Position tracking may also increasethe connection between the physical and virtual environment by, forexample, using hand position to move virtual objects by touch. Positiontracking improves the 3D perception of the virtual environment for theuser because of parallax, which helps with the perception of distance.Also, the positional tracking may help minimize reduce motion sicknesscaused by a disconnect between the inputs of what is being seen with theeyes and what is being felt by the user's ear vestibular system.

There are different methods of positional tracking. Such methods mayinclude acoustic tracking, inertial tracking, magnetic tracking, opticaltracking, combinations thereof, etc.

BRIEF SUMMARY

An angle sensitive detector may be summarized as including a firstpolarizer operative to receive and filter light from a light source; aspatially-varying polarizer optically aligned with the first polarizer,the spatially-varying polarizer including a polarization patternconfigured to uniquely differentiate incident light by its incidenceangle relative to the angle sensitive detector; a second polarizeroptically aligned with the spatially-varying polarizer to receive andfilter light received from the spatially-varying polarizer; and aphotodetector positioned to receive light from the second polarizer, thephotodetector operative to output at least one intensity signal that isindicative of the incidence angle of the incident light relative to theangle sensitive detector.

The spatially-varying polarizer may include a liquid crystal material.The spatially-varying polarizer may include a multi-twist retarder. Thespatially-varying polarizer may be operative to be switched off and,when the spatially-varying polarizer is switched off, thespatially-varying polarizer may be operative to cease changing thepolarization of the incident light. The spatially-varying polarizer mayinclude a phase retarder. The spatially-varying polarizer may providelinear polarization at a first end, and may gradually increase theretardance toward a second end opposite the second end. Thespatially-varying polarizer may provide quarter wave retardance at thesecond end. The first polarizer and the second polarizer may eachinclude linear polarizers. The first polarizer and the second polarizermay each include linear polarizers having the same polarizationorientation.

An angle sensitive detector may be summarized as including a firstpolarizer configured to: receive light; filter the light; and output afirst component of the filtered light; a spatially-varying polarizerhaving a position-varying polarizing pattern that defines a plurality ofpolarization conversion properties respectively associated with aplurality of positions, the plurality of polarization conversionproperties being operative to change a polarization of the firstcomponent differently depending on a position where the first componentimpinges on the spatially-varying polarizer, the spatially-varyingpolarizer being configured to: receive the first component at a firstposition of the plurality of positions; change the polarization of thefirst component in accordance with a first polarization conversionproperty, associated with the first position, of the plurality ofpolarization conversion properties; and output a polarization-convertedfirst component; a second polarizer configured to: receive thepolarization-converted first component; filter thepolarization-converted first component; and output a second component ofthe polarization-converted first component; and a photodetectorconfigured to: receive the second component; detect the intensity of thesecond component; and output data representative of the intensity of thesecond component, the data representative of the intensity of the secondcomponent usable to determine the first position.

The spatially-varying polarizer may include a liquid crystal material.The spatially-varying polarizer may include a multi-twist retarder. Theposition-varying polarizing pattern may include a linear polarizer at afirst end, a circular polarizer at a second end opposite the first end,and a gradual change between the linear polarizer and the circularpolarizer between the first end and the second end. The first polarizermay uniformly filter the light irrespective of where the light impingeson the first polarizer. The second polarizer may uniformly filter thepolarization-converted first component irrespective of where thepolarization-converted first component impinges on the second polarizer.The spatially-varying polarizer may be operative to be switched off and,when the spatially-varying polarizer is switched off, thespatially-varying polarizer may be operative to cease changing thepolarization of the first component.

The photodetector may be a single-cell photodiode. The photodetector maybe a multi-cell photodiode having a plurality of cells operative todetect a respective intensity of the second component in each cell ofthe plurality of cells. The light may be emitted by a base station or amobile object. The first polarizer and the second polarizer may have thesame light filtering properties.

A head-mounted display system may be summarized as including a firsthead-mounted display system component wearable by a user; a plurality ofangle sensitive detectors carried by the first head-mounted displaysystem component, in operation each of the plurality of angle sensitivedetectors captures sensor data indicative of an angle of arrival oflight emitted from one or more light sources; a scatter detector thatcaptures scatter detector data indicative of whether light received atone or more of the plurality of angle sensitive detectors has beenreflected or scattered prior to arrival at the one or more of theplurality of angle sensitive detectors; a second head-mounted displaysystem component that includes a plurality of light sources; and controlcircuitry operative to: cause one or more of the plurality of lightsources to emit light; receive sensor data from one or more of theplurality of angle sensitive detectors; receive scatter detector datafrom the scatter detector; process the received sensor data and scatterdetector data; and track a position of the first head-mounted displaysystem component based at least in part on the processing of thereceived sensor data and scatter detector data.

The control circuitry may process the scatter detector data to determinewhether light received by one or more of the plurality of anglesensitive detectors has been reflected or scattered, and responsive todetermining that light has been reflected or scattered, may ignoresensor data from the one or more angle sensitive detectors. The firsthead-mounted display system component may include a head-mounted displaydevice wearable on the head of the user or a hand-held controller. Eachof the plurality of angle sensitive detectors may include one of aphotodiode detector or a position sensitive detector. Each of theplurality of angle sensitive detectors may include a photodiode detectorhaving at least four cells.

The first head-mounted display system component may include one of ahead-mounted display device, a controller, or a base station, and thesecond head-mounted display system component comprises another of ahead-mounted display device, a controller, or a base station. The secondhead-mounted display component may include a component that is fixed ata location proximate the environment in which the head-mounted displaysystem is operated. Each of the plurality of light sources may include alight emitter and a circular polarizer positioned in front of the lightemitter. The circular polarizer may include a linear polarizer and aquarter wave retarder. The scatter detector may include a circularpolarizer positioned in front of an optical detector. The circularpolarizer of the scatter detector may include a linear polarizer and aquarter wave retarder. Each of the plurality of light sources mayinclude a light emitter and one of a right-handed circular polarizer anda left-handed circular polarizer, and the scatter detector may includethe other of a right-handed circular polarizer and a left-handedcircular polarizer.

The head-mounted display system may further include a plurality ofscatter detectors, each of the scatter detectors captures scatterdetector data indicative of whether light received at one or more of theplurality of angle sensitive detectors has been reflected or scatteredprior to arrival at one or more of the plurality of angle sensitivedetectors. Each of the plurality of scatter detectors may correspond toa subset of the plurality of angle sensitive detectors. In operation,the second head-mounted display system component may illuminate theplurality of light sources using multiplexing. To process the receivedsensor and scatter detector data, the control circuitry may provide atleast one of the received sensor and scatter detector data as input to atrained machine learning model.

A method of operating a head-mounted display system, the head-mounteddisplay system including a first head-mounted display system componentwearable by a user, a plurality of angle sensitive detectors carried bythe first head-mounted display system component, a scatter detector thatcaptures scatter detector data indicative of whether light received atone or more of the plurality of angle sensitive detectors has beenreflected or scattered prior to arrival at one or more of the pluralityof angle sensitive detectors, and a second head-mounted display systemcomponent that includes a plurality of light sources, wherein the methodmay be summarized as including causing at least one light source of theplurality of light sources to emit light; capturing, via each of theplurality of angle sensitive detectors, sensor data indicative of anangle of arrival of light emitted from the at least one light source;receiving, by at least one processor, the sensor data from the pluralityof angle sensitive detectors; receiving, by the at least one processor,the scatter detector data from the scatter detector; processing, by theat least one processor, the received sensor data and scatter detectordata; and tracking, by the at least one processor, a position of thefirst head-mounted display system component based at least in part onthe processing of the received sensor data and scatter detector data.

An angle-sensitive photodiode structure including a spatially-varyingpolarizer that provides an attenuation filter is provided. Thespatially-varying polarizer may be formed of a multi-twist retarder(MTR), which is a waveplate-like retardation film that provides preciseand customized levels of broadband, narrowband or multiple bandretardation in a single thin film. The spatially-varying polarizer isconfigured to have position varying polarization retardation propertiesand/or position varying polarization retardation patterns. Due to theproperties and/or patterns, the angle-sensitive photodiode structureuniquely attenuates light (e.g., the intensity thereof) depending on theposition at which light impinges on the angle-sensitive photodiodestructure. In at least some implementations, the spatially-varyingpolarizer operates to change the polarization of impinging lightdepending on position. The angle-sensitive photodiode structure mayinclude a uniform polarizer operative to translate the changed,position-dependent polarization into intensity. Therefore, theangle-sensitive photodiode structure establishes a relationship betweenintensity and position. The angle-sensitive photodiode structure mayinclude a photodiode configured to detect the intensity of filteredlight. The position may be determined based on the detected intensity.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

In the drawings, identical reference numbers identify similar elementsor acts. The sizes and relative positions of elements in the drawingsare not necessarily drawn to scale. For example, the shapes of variouselements and angles are not necessarily drawn to scale, and some ofthese elements may be arbitrarily enlarged and positioned to improvedrawing legibility. Further, the particular shapes of the elements asdrawn, are not necessarily intended to convey any information regardingthe actual shape of the particular elements, and may have been solelyselected for ease of recognition in the drawings.

FIG. 1 is a schematic diagram of a networked environment that includesone or more systems suitable for performing at least some techniquesdescribed in the present disclosure, including embodiments of a trackingsubsystem.

FIG. 2 is a diagram illustrating an example environment in which atleast some of the described techniques are used with an examplehead-mounted display device that is tethered to a video renderingcomputing system and providing a virtual reality display to a user.

FIG. 3 is a pictorial diagram of an HMD device having binocular displaysubsystems and a plurality of angle sensitive detectors.

FIG. 4 is a pictorial diagram of a controller that may be used with anHMD device.

FIG. 5 is a schematic block diagram of an HMD device, according to anexample embodiment of the present disclosure.

FIG. 6 is a schematic diagram of an environment in which machinelearning techniques may be used to implement a tracking subsystem of anHMD device, according to one non-limiting illustrated implementation.

FIG. 7 is a flow diagram for a method of operating a position trackingsystem of an HMD system to track the position, orientation and/ormovement of a component of the HMD system during use, according to anexample embodiment of the present disclosure.

FIG. 8 shows a perspective view of an example angle sensitive detectorthat may be used in one or more of the implementations of the presentdisclosure.

FIG. 9 shows a first linear polarizer, a spatially-varying polarizer anda second linear polarizer of an angle-sensitive photodiode structure anda polarization of light or a light spot passing therethrough to reachthe photodiode.

FIG. 10 shows the first linear polarizer, the spatially-varyingpolarizer and the second linear polarizer of the angle-sensitivephotodiode structure and a polarization of the light or light spotpassing therethrough to reach the photodiode.

FIG. 11A is a top view of an example angle sensitive detector that maybe used in one or more of the implementations of the present disclosure.

FIG. 11B is a perspective view of the angle sensitive detector shown inFIG. 11A.

FIG. 12 is a simplified diagram illustrating use of light sources andangle sensitive detectors to determine the position of components of anHMD system, according to one non-limiting illustrated implementation.

FIG. 13 is a diagram that depicts example optical systems of a lightsource and angle sensitive detector, according to one non-limitingillustrated implementation.

FIG. 14 is a diagram that depicts the operation of an example scatterdetection module and light sources of a tracking system, according toone non-limiting illustrated implementation.

FIG. 15 is a diagram that depicts components of a light source and ascatter detection module of a tracking system, according to onenon-limiting illustrated implementation.

FIG. 16 is a pictorial diagram of an HMD device having binocular displaysubsystems, a plurality of angle sensitive detectors, and a plurality ofscatter detection modules operative to detect light that has beenscattered or reflected, which may be used to ignore such scattered lightduring a position tracking of the HMD device or a component thereof.

FIG. 17 is a perspective view of components of a light source and ascatter detection module of a tracking system, according to onenon-limiting illustrated implementation.

DETAILED DESCRIPTION

In the following description, certain specific details are set forth inorder to provide a thorough understanding of various disclosedimplementations. However, one skilled in the relevant art will recognizethat implementations may be practiced without one or more of thesespecific details, or with other methods, components, materials, etc. Inother instances, well-known structures associated with computer systems,server computers, and/or communications networks have not been shown ordescribed in detail to avoid unnecessarily obscuring descriptions of theimplementations.

Unless the context requires otherwise, throughout the specification andclaims that follow, the word “comprising” is synonymous with“including,” and is inclusive or open-ended (i.e., does not excludeadditional, unrecited elements or method acts).

Reference throughout this specification to “one implementation” or “animplementation” means that a particular feature, structure orcharacteristic described in connection with the implementation isincluded in at least one implementation. Thus, the appearances of thephrases “in one implementation” or “in an implementation” in variousplaces throughout this specification are not necessarily all referringto the same implementation. Furthermore, the particular features,structures, or characteristics may be combined in any suitable manner inone or more implementations.

As used in this specification and the appended claims, the singularforms “a,” “an,” and “the” include plural referents unless the contextclearly dictates otherwise. It should also be noted that the term “or”is generally employed in its sense including “and/or” unless the contextclearly dictates otherwise.

The headings and Abstract of the Disclosure provided herein are forconvenience only and do not interpret the scope or meaning of theimplementations.

One or more implementations of the present disclosure are directed tosystems and methods for accurately tracking the position of components(e.g., HMD, controllers, peripherals) of a head-mounted display (HMD)system. In at least some implementations, the HMD includes a supportstructure that carries a forward facing camera (“forward camera” or“front camera”) and a plurality of angle sensitive detectors or lightsources. Similarly, one or more controllers may include a plurality ofangle sensitive detectors or light detectors. In other implementations,the HMD does not include a forward camera. The forward camera maycapture image sensor data in a forward camera field of view at a firstframe rate (e.g., 30 Hz, 90 Hz).

In operation, one or more fixed or movable light sources (e.g., IR LEDs)may be caused to emit light, as discussed further below. The lightsources may be coupled to an HMD, a controller, a fixed object (e.g.,base station) located in the environment, etc. Each of the plurality ofangle sensitive detectors captures sensor data in a respective pluralityof angle sensitive detector fields of view at a second frame rate (e.g.,1000 Hz, 2000 Hz) which may be greater than the first frame rate of theforward camera (when present). In at least some implementations, theangle sensitive detector fields of view may be narrower than the forwardcamera field of view, although this is not required. For example, theforward camera may have a relatively wide forward camera field of viewof 90°, 120°, or 150°, and each of the angle sensitive detectors mayhave relatively narrow sensor IC fields of view (e.g., 25°, 45°, 75°).In at least some implementations, the angle sensitive detector fields ofview may collectively cover at least a substantial portion the forwardcamera field of view, or even greater than the forward camera field ofview, with each of the angle sensitive detector fields of viewoverlapping with different portions of the forward camera field of view.

In operation, at least one processor operatively coupled to a pluralityof angle sensitive detectors may receive sensor data that captures lightfrom a plurality of light sources (e.g., LEDs, lasers, other lightsources). The at least one processor may process the received imagesensor data to track a position of a component of the head-mounteddisplay based at least in part on the processing of the received imagesensor data. For example, the at least one processor may fuse the sensordata from the angle sensitive detectors to track one or more featurespresent in an environment. The at least one processor may utilizemachine learning techniques, solvers, or another methods to process thesensor data to determine the position (e.g., location, orientation,movement) of one or more components of the HMD system. In at least someimplementations, the sensor data may be fused with sensor data fromother sensors, such as sensor data from a forward camera or an inertialmeasurement unit (IMU) of an HMD system component. In at least someimplementations, one or more scatter detection modules or “scatterdetectors” may be used to detect when light has been scattered orreflected before reaching one or more angle sensitive detectors, andsuch light may be ignored by the tracking system since its angle doesnot accurately indicate the location of the light source from which thelight was emitted. Using this technique, the accuracy of positiontracking can be greatly improved. The various features of theimplementations of the present disclosure are discussed in detail belowwith reference to the Figures.

FIG. 1 is a schematic diagram of a networked environment 100 thatincludes a local media rendering (LMR) system 110 (e.g., a gamingsystem), which includes a local computing system 120, a display device180 (e.g., an HMD device with two display panels, one for each eye), andone or more controllers 182 suitable for performing at least sometechniques described herein. In the depicted embodiment of FIG. 1, thelocal computing system 120 is communicatively connected to the displaydevice 180 via transmission link 115 (which may be wired or tethered,such as via one or more cables as illustrated in FIG. 2 (cable 220), orinstead may be wireless). The controllers 182 may be coupled to thelocal computing system 120 or the display device 180 via suitable wiredor wireless links 186 and 184, respectively. In other embodiments, thelocal computing system 120 may provide encoded image data for display toa panel display device (e.g., a TV, console or monitor) via a wired orwireless link, whether in addition to or instead of the HMD device 180,and the display devices each includes one or more addressable pixelarrays. In various embodiments, the local computing system 120 mayinclude a general purpose computing system; a gaming console; a videostream processing device; a mobile computing device (e.g., a cellulartelephone, PDA, or other mobile device); a VR or AR processing device;or other computing system.

In the illustrated embodiment, the local computing system 120 hascomponents that include one or more hardware processors (e.g.,centralized processing units, or “CPUs”) 125, memory 130, various I/O(“input/output”) hardware components 127 (e.g., a keyboard, a mouse, oneor more gaming controllers, speakers, microphone, IR transmitter and/orreceiver, etc.), a video subsystem 140 that includes one or morespecialized hardware processors (e.g., graphics processing units, or“GPUs”) 144 and video memory (VRAM) 148, computer-readable storage 150,and a network connection 160. Also in the illustrated embodiment, anembodiment of an tracking subsystem 135 executes in memory 130 in orderto perform at least some of the described techniques, such as by usingthe CPU(s) 125 and/or GPU(s) 144 to perform automated operations thatimplement those described techniques, and the memory 130 may optionallyfurther execute one or more other programs 133 (e.g., to generate videoor other images to be displayed, such as a game program). As part of theautomated operations to implement at least some techniques describedherein, the tracking subsystem 135 and/or programs 133 executing inmemory 130 may store or retrieve various types of data, including in theexample database data structures of storage 150, in this example, thedata used may include various types of image data information indatabase (“DB”) 154, various types of application data in DB 152,various types of configuration data in DB 157, and may includeadditional information, such as system data or other information.

The LMR system 110 is also, in the depicted embodiment, communicativelyconnected via one or more computer networks 101 and network links 102 toan exemplary network-accessible media content provider 190 that mayfurther provide content to the LMR system 110 for display, whether inaddition to or instead of the image-generating programs 133. The mediacontent provider 190 may include one or more computing systems (notshown) that may each have components similar to those of local computingsystem 120, including one or more hardware processors, I/O components,local storage devices and memory, although some details are notillustrated for the network-accessible media content provider for thesake of brevity.

It will be appreciated that, while the display device 180 is depicted asbeing distinct and separate from the local computing system 120 in theillustrated embodiment of FIG. 1, in certain embodiments some or allcomponents of the local media rendering system 110 may be integrated orhoused within a single device, such as a mobile gaming device, portableVR entertainment system, HMD device, etc. In such embodiments,transmission link 115 may, for example, include one or more system busesand/or video bus architectures.

As one example involving operations performed locally by the local mediarendering system 120, assume that the local computing system is a gamingcomputing system, such that application data 152 includes one or moregaming applications executed via CPU 125 using memory 130, and thatvarious video frame display data is generated and/or processed by theimage-generating programs 133, such as in conjunction with GPU 144 ofthe video subsystem 140. In order to provide a quality gamingexperience, a high volume of video frame data (corresponding to highimage resolution for each video frame, as well as a high “frame rate” ofapproximately 60-180 of such video frames per second) is generated bythe local computing system 120 and provided via the wired or wirelesstransmission link 115 to the display device 180.

It will also be appreciated that computing system 120 and display device180 are merely illustrative and are not intended to limit the scope ofthe present disclosure. The computing system 120 may instead includemultiple interacting computing systems or devices, and may be connectedto other devices that are not illustrated, including through one or morenetworks such as the Internet, via the Web, or via private networks(e.g., mobile communication networks, etc.). More generally, a computingsystem or other computing node may include any combination of hardwareor software that may interact and perform the described types offunctionality, including, without limitation, desktop or othercomputers, game systems, database servers, network storage devices andother network devices, PDAs, cell phones, wireless phones, pagers,electronic organizers, Internet appliances, television-based systems(e.g., using set-top boxes and/or personal/digital video recorders), andvarious other consumer products that include appropriate communicationcapabilities. The display device 180 may similarly include one or moredevices with one or more display panels of various types and forms, andoptionally include various other hardware and/or software components.

In addition, the functionality provided by the tracking subsystem 135may in some embodiments be distributed in one or more components (e.g.,local and remote computing systems, HMD, controller(s), basestation(s)), and in some embodiments some of the functionality of thetracking subsystem 135 may not be provided and/or other additionalfunctionality may be available. It will also be appreciated that, whilevarious items are illustrated as being stored in memory or on storagewhile being used, these items or portions of them may be transferredbetween memory and other storage devices for purposes of memorymanagement or data integrity. Thus, in some embodiments, some or all ofthe described techniques may be performed by hardware that include oneor more processors or other configured hardware circuitry or memory orstorage, such as when configured by one or more software programs (e.g.,by the tracking subsystem 135 or it components) and/or data structures(e.g., by execution of software instructions of the one or more softwareprograms and/or by storage of such software instructions and/or datastructures). Some or all of the components, systems and data structuresmay also be stored (e.g., as software instructions or structured data)on a non-transitory computer-readable storage medium, such as a harddisk or flash drive or other non-volatile storage device, volatile ornon-volatile memory (e.g., RAM), a network storage device, or a portablemedia article to be read by an appropriate drive (e.g., a DVD disk, a CDdisk, an optical disk, etc.) or via an appropriate connection. Thesystems, components and data structures may also in some embodiments betransmitted as generated data signals (e.g., as part of a carrier waveor other analog or digital propagated signal) on a variety ofcomputer-readable transmission mediums, including wireless-based andwired/cable-based mediums, and may take a variety of forms (e.g., aspart of a single or multiplexed analog signal, or as multiple discretedigital packets or frames). Such computer program products may also takeother forms in other embodiments. Accordingly, the present invention maybe practiced with other computer system configurations.

FIG. 2 illustrates an example environment 200 in which at least some ofthe described techniques are used with an example HMD device 202 that iscoupled to a video rendering computing system 204 via a tetheredconnection 220 (or a wireless connection in other embodiments) toprovide a virtual reality display to a human user 206. The user wearsthe HMD device 202 and receives displayed information via the HMD devicefrom the computing system 204 of a simulated environment different fromthe actual physical environment, with the computing system acting as animage rendering system that supplies images of the simulated environmentto the HMD device for display to the user, such as images generated by agame program and/or other software program executing on the computingsystem. The user is further able to move around within a tracked volume201 of the actual physical environment 200 in this example, and mayfurther have one or more I/O (“input/output”) devices to allow the userto further interact with the simulated environment, which in thisexample includes hand-held controllers 208 and 210.

In the illustrated example, the environment 200 may include one or morebase stations 214 (two shown, labeled base stations 214 a and 214 b)that may facilitate tracking of the HMD device 202 or the controllers208 and 210. As the user moves location or changes orientation of theHMD device 202, the position of the HMD device is tracked, such as toallow a corresponding portion of the simulated environment to bedisplayed to the user on the HMD device, and the controllers 208 and 210may further employ similar techniques to use in tracking the positionsof the controllers (and to optionally use that information to assist indetermining or verifying the position of the HMD device). After thetracked position of the HMD device 202 is known, correspondinginformation is transmitted to the computing system 204 via the tether220 or wirelessly, which uses the tracked position information togenerate one or more next images of the simulated environment to displayto the user.

The optical tracking described herein may be used in combination withvarious methods of positional tracking including, but not limited to,acoustic tracking, inertial tracking, or magnetic tracking, amongothers.

In at least some implementations, at least one of the HMD device 202 andthe controllers 208 and 210 may include one or more optical receivers orsensors that may be used to implement tracking functionality or otheraspects of the present disclosure. In at least some implementations, atleast one of the HMD device 202, the controllers 208 and 210, or othercomponent may include one or more light sources (e.g., LEDs) which mayemit light detected by one or more of the optical receivers. The lightsources may be in a fixed position or may be on a component that ismovable, such as an HMD device or controller.

In at least some implementations, in addition to or instead ofgenerating fixed point light sources, the base stations 214 may eachsweep an optical signal across the tracked volume 201. Depending on therequirements of each particular implementation, each base station 214may generate more than one optical signal. For example, while a singlebase station 214 is typically sufficient for six-degree-of-freedomtracking, multiple base stations (e.g., base stations 214 a, 214 b) maybe necessary or desired in some embodiments to provide robust room-scaletracking for HMD devices and peripherals. In this example, opticalreceivers, such as angle sensitive detectors or scatter detectors, areincorporated into the HMD device 202 and or other tracked objects, suchas the controllers 208 and 210. In at least some implementations,optical receivers may be paired with an accelerometer and gyroscopeInertial Measurement Unit (“IMU”) on each tracked device to supportlow-latency sensor fusion.

In at least some implementations, each base station 214 includes tworotors which sweep a linear beam across the tracked volume 201 onorthogonal axes. At the start of each sweep cycle, the base station 214may emit an omni-directional light pulse (referred to as a “syncsignal”) that is visible to all sensors on the tracked objects. Thus,each sensor computes a unique angular location in the swept volume bytiming the duration between the sync signal and the beam signal. Sensordistance and orientation may be solved using multiple sensors affixed toa single rigid body.

The one or more sensors positioned on the tracked objects (e.g., HMDdevice 202, controllers 208 and 210) may comprise an optoelectronicdevice capable of detecting the modulated light from the rotor. Forvisible or near-infrared (NIR) light, silicon photodiodes and suitableamplifier/detector circuitry may be used. Because the environment 200may contain static and time-varying signals (optical noise) with similarwavelengths to the signals of the base stations 214 signals, in at leastsome implementations the base station light may be modulated in such away as to make it easy to differentiate from any interfering signals,and/or to filter the sensor from any wavelength of radiation other thanthat of base station signals. As discussed further below, in at leastsome implementations angle sensitive detectors are used to track one ormore components of an HMD system, and one or more scatter detectors maybe used to ignore light that may have been scattered or reflected priorto being detected by the optical detectors.

Inside-out tracking is also a type positional tracking that may be usedto track the position of the HMD device 202 and/or other objects (e.g.,controllers 208 and 210, tablet computers, smartphones). Inside-outtracking differs from outside-in tracking by the location of the camerasor other sensors used to determine the HMD component's position. Forinside-out tracking, the camera or sensors are located on the HMDcomponent, or object being tracked, while in outside-out tracking thecamera or sensors are placed in a stationary location in theenvironment.

An HMD that utilizes inside-out tracking utilizes one or more sensors to“look out” to determine how its position changes in relation to theenvironment. When the HMD moves, the sensors readjust their place in theroom and the virtual environment responds accordingly in real-time. Thistype of positional tracking can be achieved with or without markersplaced in the environment. The cameras that are placed on the HMDobserve features of the surrounding environment. When using markers, themarkers are designed to be easily detected by the tracking system andplaced in a specific area. With “markerless” inside-out tracking, theHMD system uses distinctive characteristics (e.g., natural features)that originally exist in the environment to determine position andorientation. The HMD system's algorithms identify specific images orshapes and use them to calculate the device's position in space. Datafrom accelerometers and gyroscopes can also be used to increase theprecision of positional tracking.

FIG. 3 shows information 300 illustrating a front view of an example HMDdevice 344 when worn on the head of a user 342. The HMD device 344includes a front-facing structure 343 that supports a front-facing orforward camera 346 and a plurality of angle sensitive detectors 348a-348 f (collectively 348) of one or more types. As one example, some orall of the angle sensitive detectors 348 may assist in determining thelocation and orientation of the device 344 in space, such as lightsensors to detect and use light information emitted from one or moreexternal devices (not shown, e.g., base stations 214 of FIG. 2,controllers). The angle sensitive detectors 348 may be any type ofdetector operative to detect the angle of arrival of light emitted froma light source. Non-limiting examples of angle sensitive detectorsinclude photodiode detectors (e.g., bi-cell detectors, quadrant celldetectors), position sensitive detectors that use resistive sheets, etc.

As shown, the forward camera 346 and the angle sensitive detectors 348are directed forward toward an actual scene or environment (not shown)in which the user 342 operates the HMD device 344. More generally, theangle sensitive detectors 348 may be directed toward other areas (e.g.,upward, downward, left, right, rearward) to detect light from varioussources, such as controllers (e.g., held by the user 342) or objectsmounted at various locations (e.g., wall, ceiling). The actual physicalenvironment may include, for example, one or more objects (e.g., walls,ceilings, furniture, stairs, cars, trees, tracking markers, lightsources, or any other types of objects). The particular number ofsensors 348 may be fewer (e.g., 2, 4) or more (e.g., 10, 20, 30, 40)than the number of sensors depicted. The HMD device 344 may furtherinclude one or more additional components that are not attached to thefront-facing structure (e.g., are internal to the HMD device), such asan IMU (inertial measurement unit) 347 electronic device that measuresand reports the HMD device's 344 specific force, angular rate, and/orthe magnetic field surrounding the HMD device (e.g., using a combinationof accelerometers and gyroscopes, and optionally, magnetometers). TheHMD device 344 may further include additional components that are notshown, including one or more display panels and optical lens systemsthat are oriented toward eyes (not shown) of the user and thatoptionally have one or more attached internal motors to change thealignment or other positioning of one or more of the optical lenssystems and/or display panels within the HMD device.

The illustrated example of the HMD device 344 is supported on the headof user 342 based at least in part on one or more straps 345 that areattached to the housing of the HMD device 344 and that extend wholly orpartially around the user's head. While not illustrated here, the HMDdevice 344 may further have one or more external motors, such asattached to one or more of the straps 345, and automated correctiveactions may include using such motors to adjust such straps in order tomodify the alignment or other positioning of the HMD device on the headof the user. It will be appreciated that HMD devices may include othersupport structures that are not illustrated here (e.g., a nose piece,chin strap, etc.), whether in addition to or instead of the illustratedstraps, and that some embodiments may include motors attached one ormore such other support structures to similarly adjust their shapeand/or locations to modify the alignment or other positioning of the HMDdevice on the head of the user. Other display devices that are notaffixed to the head of a user may similarly be attached to or part ofone or structures that affect the positioning of the display device, andmay include motors or other mechanical actuators in at least someembodiments to similarly modify their shape and/or locations to modifythe alignment or other positioning of the display device relative to oneor more pupils of one or more users of the display device.

FIG. 4 shows an example of a hand controller 400 in more detail. Inpractice, an HMD system may include two hand controllers similar oridentical to the hand controller 400 of FIG. 4, which may be similar oridentical to the controllers 182, 208 and 210 discussed above. As shown,the controller 400 has various surfaces on which angle sensitivedetectors 402 are positioned. The angle sensitive detectors 402 arearranged to receive optical signals from various different directions.The controller 400 may have buttons, sensors, lights, controls, knobs,indicators, displays, etc., allowing interaction by the user in variousways. Further, as discussed above, in at least some implementations, oneof the controller 400 and HMD device 344 may include a plurality oflight sources and the other of the controller and HMD device may includea plurality of angle sensitive detectors or other types of detectors orsensors. The techniques described herein may be used for various typesof position tracking and are not limited to HMDs, controllers, etc.

FIG. 5 shows a schematic block diagram of an HMD device 500 according toone or more implementations of the present disclosure. The HMD device500 may be similar or identical to the HMD devices discussed elsewhereherein. Thus, the discussion above with regard to the HMD devices mayalso apply to the HMD device 500. Further, at least some of thecomponents of the HMD device 500 may be present in other components ofan HMD system, such as controllers, base stations, etc. Thus, at leastsome of the description below may be applicable to such othercomponents.

The HMD device 500 includes a processor 502, a front-facing or forwardcamera 504, a plurality of angle sensitive detectors 506 (e.g.,quad-cell photodiodes, position sensitive detectors), and optionallyincludes an IMU 507 or a plurality of light sources 509. In someimplementation, the HMD device 500 may include one of angle sensitivedetectors or light sources, and other components (e.g., controllers,base stations) may include the other of angle sensitive detectors orlight sources. As discussed below, in at least some implementations theHMD device 500 may include one or more scatter detection modules orscatter detectors, which may be used to detect whether light received byone or more of the angle sensitive detectors has been scattered orreflected, and therefore should be ignored. The HMD device 500 mayinclude a display subsystem 508 (e.g., two displays and correspondingoptical systems). The HMD device 500 may also include a nontransitorydata storage 510 that may store instructions or data for positiontracking 512, instructions or data for display functionality 514 (e.g.,games), and/or other programs 516. The HMD system 500 may include someor allow the functionality of the local computing system 120 or mediacontent provider 190 shown in FIG. 1 and discussed above.

The HMD device 500 may also include various I/O components 518, whichmay include one or more user interfaces (e.g., buttons, touch pads,speakers), one or more wired or wireless communications interfaces, etc.As an example, the I/O components 518 may include a communicationsinterface that allows the HMD device 500 to communicate with an externaldevice 520 over a wired or wireless communications link 522. Asnon-limiting examples, the external device 520 may include a hostcomputer, a server, a mobile device (e.g., smartphone, wearablecomputer), controllers, etc. The various components of the HMD device500 may be housed in a single housing, may be housed in a separatehousing (e.g., host computer), or any combinations thereof.

It will be appreciated that the illustrated computing systems anddevices are merely illustrative and are not intended to limit the scopeof the present disclosure. For example, HMD 500 and/or external devices520 may be connected to other devices that are not illustrated,including through one or more networks such as the Internet or via theWeb. More generally, such a computing system or device may comprise anycombination of hardware that can interact and perform the describedtypes of functionality, such as when programmed or otherwise configuredwith appropriate software, including without limitation desktopcomputers, laptop computers, slate computers, tablet computers or othercomputers, smart phone computing devices and other cell phones, Internetappliances, PDAs and other electronic organizers, database servers,network storage devices and other network devices, wireless phones,pagers, television-based systems (e.g., using set-top boxes and/orpersonal/digital video recorders and/or game consoles and/or mediaservers), and various other consumer products that include appropriateinter-communication capabilities. For example, the illustrated systems500 and 520 may include executable software instructions and/or datastructures in at least some embodiments, which when loaded on and/orexecuted by particular computing systems or devices, may be used toprogram or otherwise configure those systems or devices, such as toconfigure processors of those systems or devices. Alternatively, inother embodiments, some or all of the software systems may execute inmemory on another device and communicate with the illustrated computingsystem/device via inter-computer communication. In addition, whilevarious items are illustrated as being stored in memory or on storage atvarious times (e.g., while being used), these items or portions of themcan be transferred between memory and storage and/or between storagedevices (e.g., at different locations) for purposes of memory managementand/or data integrity.

Thus, in at least some embodiments, the illustrated systems aresoftware-based systems including software instructions that, whenexecuted by the processor(s) and/or other processor means, program theprocessor(s) to automatically perform the described operations for thatsystem. Furthermore, in some embodiments, some or all of the systems maybe implemented or provided in other manners, such as at least partiallyin firmware and/or hardware means, including, but not limited to, one ormore application-specific integrated circuits (ASICs), standardintegrated circuits, controllers (e.g., by executing appropriateinstructions, and including microcontrollers and/or embeddedcontrollers), field-programmable gate arrays (FPGAs), complexprogrammable logic devices (CPLDs), etc. Some or all of the systems ordata structures may also be stored (e.g., as software instructionscontents or structured data contents) on a non-transitorycomputer-readable storage medium, such as a hard disk or flash drive orother non-volatile storage device, volatile or non-volatile memory(e.g., RAM), a network storage device, or a portable media article(e.g., a DVD disk, a CD disk, an optical disk, a flash memory device,etc.) to be read by an appropriate drive or via an appropriateconnection. The systems, modules and data structures may also in someembodiments be transmitted as generated data signals (e.g., as part of acarrier wave or other analog or digital propagated signal) on a varietyof computer-readable transmission mediums, including wireless-based andwired/cable-based mediums, and can take a variety of forms (e.g., aspart of a single or multiplexed analog signal, or as multiple discretedigital packets or frames). Such computer program products may also takeother forms in other embodiments. Accordingly, the present disclosuremay be practiced with other computer system configurations.

FIG. 6 is a schematic diagram of an environment 600 in which machinelearning techniques may be used to implement a tracking subsystem totrack an HMD device, one or more controllers, or other components, suchas the tracking subsystems discussed herein, according to onenon-limiting illustrated implementation. The environment 600 includes amodel training portion 601 and an inference portion 603. In the trainingportion 601, training data 602 is fed into a machine learning algorithm604 to generate a trained machine learning model 606. The training datamay include, for example, labeled data from the angle sensitivedetectors that specify the position and/or orientation of a particularobject relative to one or more light sources (e.g., LEDs), labeled orunlabeled scatter detector data (discussed below), or other types ofdata. As a non-limiting example, in an embodiment that includes acomponent (e.g., HMD, controller) with 30 angle sensitive detectors,each training sample may include the output from each or a subset of theangle sensitive detectors, a known or inferred position or orientationof a component, and information about the position or direction of oneor more light sources. As discussed below, each angle sensitive detectormay output a single data point (e.g., angle), or may output multipledata points, such as two or four signals that are each indicative of thepower or intensity of the light received at a particular active element(e.g., sub-detector or cell, resistive sheet, etc.) of the anglesensitive detector. The data may also include data from one or morescatter detectors, such as the scatter detectors discussed below. Suchdata may include polarization information (e.g., type or degree ofpolarization), information regarding whether detected light has beenscattered, or other types of data.

The training data 602 may be obtained from a plurality of users and/orfrom a single user of an HMD system. The training data 602 may beobtained in a controlled environment and/or during actual use by users(“field training”). Further, in at least some implementations, the model606 may be updated or calibrated from time-to-time (e.g., periodically,continuously, after certain events) to provide accurate positiontracking predictions.

In the inference portion 603, run-time data 608 is provided as input tothe trained machine learning model 606, which generates positiontracking predictions 610. Continuing with the above example, the outputdata (e.g., intensity data, angle data) of the angle sensitivedetectors, optionally information about one or more light sources, andoptionally information from one or more scatter detectors, may beprovided as input to the trained machine learning model 606, which mayprocess the data to predict the position of the component. The trackingpredictions 610 may then be provided to one or more componentsassociated with and HMD device, such as, for example, one or more VR orAR applications, one or more display or rendering modules, one or moremechanical controls, one or more additional position trackingsubsystems, etc.

The machine learning techniques employed to implement the featuresdiscussed herein may include any type of suitable structures ortechniques. As non-limiting examples, the machine learning model 606 mayinclude one or more of decision trees, statistical hierarchical models,support vector machines, artificial neural networks (ANNs) such asconvolutional neural networks (CNNs) or recurrent neural networks (RNNs)(e.g., long short-term memory (LSTM) networks), mixture density networks(MDNs), hidden Markov models, or others can be used. In at least someimplementations, such as implementations that utilize an RNN, themachine learning model 606 may utilize past input (memory, feedback)information to predict position of one or more HMD components. Suchimplementations may advantageously utilize sequential data to determinemotion information or previous position predictions, which may providemore accurate real-time position predictions.

FIG. 7 is a flow diagram for an example method 700 of operating an HMDsystem to track the position of an HMD component during use. The method700 may be performed by, for example, the position tracking system ormodule 512 of the HMD system 500 shown in FIG. 5. As discussed above,the method 700 may be used to track the position of any component, suchas HMD device, one or more controllers, etc.

The illustrated implementation of the method 700 begins at act 702,wherein a first HMD system component having a plurality of anglesensitive detectors is provided. The plurality of angle sensitivedetectors may be operative to detect light emitted from one or morelight sources that may be fixedly positioned (e.g., mounted to a wall orceiling) or movable (e.g., coupled to an HMD or controller). Inoperation, each of the plurality of angle sensitive detectors capturessensor data in a respective plurality of angle sensitive detector fieldsof view at a frame rate. The sensor data may comprise any type of datathat is usable a processor to detect the presence and direction of alight source relative to the angle sensitive detector. In at least someimplementations, each of the angle sensitive detectors may comprise oneor more sensors (e.g., photodiodes) having image sensing circuitry andimage processing circuitry thereon. The angle sensitive detectors mayoutput relatively raw data (e.g., light intensity or power data) orprocessed data (e.g., angle of incidence data).

At 704, a second HMD system component may be provided that includes aplurality of light sources (e.g., near-IR LEDs). The second HMD systemcomponent may comprise a controller, an HMD device, or a light sourcethat is positioned in a fixed location (e.g., ceiling, wall), forexample.

At 706, at least one processor of the HMD system may cause the lightsources to emit light. The light sources may be illuminated in a mannerin which the angle sensitive detectors may each detect light from asingle light source at a time or, more generally, in a manner in whichthe system may be able to determine from which light source that lightdetected by an angle sensitive detector was received. This may beachieved by multiplexing the illumination of the light sources using anysuitable type of multiplexing, such as time multiplexing, wavelengthmultiplexing, frequency multiplexing, polarization multiplexing, orother techniques that allow the system to know the source of lightreceived from each of the angle sensitive detectors during use.

As an example of time multiplexing, the at least one processor mayilluminate only a subset (e.g., one, two, four) of the light sources ata time. For instance, the at least one processor may sequentiallyilluminate the light sources, one subset at a time, and collect sensordata responsive to each of the light sources.

As an example of wavelength multiplexing, different subsets of the lightsources may emit different wavelengths of light, and different subsetsof the angle sensitive detectors may operative to sense the differentwavelengths of light. Thus, light sources having differing wavelengthsmay be illuminated simultaneously and detected by the correspondingwavelength-sensitive detectors.

As an example of frequency multiplexing, subsets of the light sourcesmay be illuminated at determined patterns or frequencies that aredetectable by the angle sensitive detectors to identify the particularsource of the light of the light.

As an example of polarization multiplexing, subsets of the light sourcesmay be polarized differently (e.g., linear, circular), and correspondingsubsets of the angle sensitive detectors may be configured to detectcertain polarized light (e.g., using polarizers that pass light havingthe corresponding polarization), which allows multiple light sources tobe illuminated simultaneously.

At 708, at least one processor associated with the HMD system mayreceive sensor data from the plurality of angle sensitive detectors. Asnoted above, for each angle sensitive detector, the sensor data may beindicative of the angle of arrival of light emitted from a known lightsource. At 710, the at least one processor associated with the HMDsystem may optionally receive sensor data from an inertial measurementunit (IMU) that are operative to provide inertial tracking capabilitiesor sensor data from one or more additional sensors.

At 712, the at least one processor associated with the HMD system mayprocess the received sensor data. For example, the at least oneprocessor may fuse some or all of the sensor data together to track oneor more features present in an environment in which the HMD system isoperated. The sensor data may include sensor data from the plurality ofangle sensitive detectors, and optionally sensor data from an IMU orfrom a camera. The at least one processor may process the sensor datausing a machine learning model (e.g., model 606) or another solver, forexample. As discussed further below, in at least some implementationsthe at least one processor may ignore data from one or more sensorsdetermined to have likely received light that has been scattered orreflected.

At 714, the at least one processor associated with the HMD system maytrack the position (e.g., location, orientation, or movement) of thecomponent of the HMD system in real-time during use of the HMD system bya user in the environment. The method 700 may continue during operationof the HMD to continuously track the position of the component of theHMD system, as discussed above.

FIG. 8 shows a perspective view of an example angle sensitive detector800 that may be used in one or more of the implementations of thepresent disclosure. In this example, the angle sensitive detector 800comprises an angle-sensitive photodiode structure 804. Theangle-sensitive photodiode structure 804 includes a photodiode 806, asecond linear polarizer 808, a spatially-varying polarizer 810 and afirst linear polarizer 812. The photodiode 806 may be any device thatreceives light, determines an intensity associated with the light andoutputs a signal (or data) representative of the intensity. The firstand second linear polarizers 812, 808 may each be any type of lightfilter on which light impinges. The first and second linear polarizers812, 808 may output a linearly polarized component (e.g., verticallypolarized or horizontally polarized) of the impinging light and filterout (e.g., reflect or reject, absorb) other components of the impinginglight.

In at least some implementations, the spatially varying polarizer 810may be formed of a multi-twist retarder (MTR), which is a waveplate-likeretardation film that provides precise and customized levels ofbroadband, narrowband or multiple band retardation in a single thinfilm. More specifically, MTR comprises two or more twisted liquidcrystal (LC) layers on a single substrate and with a single alignmentlayer. Subsequent LC layers are aligned directly by prior layers,allowing simple fabrication, achieving automatic layer registration, andresulting in a monolithic film with a continuously varying optic axis.

The spatially varying polarizer 810 may comprise a wave retarder that isformed of birefringent materials. Birefringence is the property of amaterial that has a refractive index that depends on the polarizationand propagation direction of light. The wave retarder alters thepolarization state or phase of light traveling through the waveretarder. The wave retarder may have a slow axis (or extraordinary axis)and a fast axis (ordinary axis). As polarized light travels through thewave retarder, the light along the fast axis travels more quickly thanalong the slow axis.

The second linear polarizer 808, spatially-varying polarizer 810 andfirst linear polarizer 812 may be stacked on the photodiode 806 as shownin FIG. 8 and consecutively layered on the photodiode 806. It is notedthat although the polarizers 812, 808 are described herein as linearpolarizers, in various embodiments the polarizers 812, 808 may benon-linear polarizers and may, for example, be elliptical or circularpolarizers. The polarizers 812, 808 may have the same light filteringproperties and may similarly or identically reject or pass through lighthaving particular polarizations. In this simplified example, the anglesensitive detector 800 includes a cover 814 that has an aperture 816therein that allows light 818 from a light source 820 to passtherethrough. As shown, the light 818 that passes through the aperture816 forms a light spot 822 that can be electrically characterized todetermine the angle of the light 818, and therefore the angle of thelight source 820, relative to the angle sensitive detector 800. Asdiscussed below, the systems and methods of the present disclosure mayutilize a plurality of light sources and angle sensitive detectors todetermine the position of components of an HMD system.

FIG. 9 shows the first linear polarizer 812, spatially-varying polarizer810 and second linear polarizer 808 of the angle-sensitive photodiodestructure 804 and a polarization of the light 818 or light spot 822passing therethrough to reach the photodiode 806. Initially the light818 impinges on the first linear polarizer 812. The light 818 may haveany polarization and may accordingly be said to be unpolarized in atleast some implementations. In at least some implementations the lightmay be linearly polarized, circularly polarized or generallyelliptically polarized.

The first linear polarizer 812 passes a linear polarization component824 of the light 818 and rejects (absorbs or reflects) remainingpolarization components of the light 818. Although the first linearpolarizer 812 is shown as a vertical polarization filter, in variousembodiments, the first linear polarizer 812 may be a horizontalpolarization filter or a circular polarization filter, among others.

The linear polarization component 824 then impinges on thespatially-varying polarizer 810 positioned below the first linearpolarizer 812. The spatially-varying polarizer 810 is tuned to havelight polarization properties that vary according to a position on thespatially-varying polarizer 810, on which the linear polarizationcomponent 824 (or any impinging light) impinges on the spatially-varyingpolarizer 810. In the example shown in FIG. 9, the spatially-varyingpolarizer 810 changes the impinging linear polarization component 824.

The manner in which the spatially-varying polarizer 810 changes theimpinging linear polarization component 824 varies according to aposition where the impinging linear polarization component 824 impingeson the spatially-varying polarizer 810. The position may besubstantially the same position that the light 818 impinges onangle-sensitive photodiode structure 804.

In this illustrative example, at a first end 826 (top right as shown) ofthe spatially-varying polarizer 810, the spatially-varying polarizer 810retains the impinging linear polarization component 824 as a verticallypolarized light signal. The spatially-varying polarizer 810 passesvertically polarized light and blocks other polarization components. Thelinear polarization component 824 that impinges on the first end 826passes through as is.

The polarization filtering properties of the spatially-varying polarizer810 may gradually change as a function of a distance to the first end,as a non-limiting example. At a second end 828 (bottom left as shown) ofthe spatially-varying polarizer 810, the spatially-varying polarizer 810nearly converts the impinging linear polarization component 824 that isvertically polarized into a horizontally polarized light signal. Inparticular, at the second end 828, the spatially-varying polarizer 810has a linear polarization orientation of 175°. Accordingly, at thesecond end 828, the spatially-varying polarizer 810 outputs light havinga greater horizontally polarized component than vertically polarizedcomponent. Conversely, near the center of the spatially-varyingpolarizer 810, the spatially-varying polarizer 810 has a linearpolarization orientation of about 135° and, accordingly, thespatially-varying polarizer 810 rotates the polarization of theimpinging linear polarization component 824 (having verticalpolarization) towards the horizontal polarization by an angle of about45°. Light exiting the spatially-varying polarizer 810 near its centerhas a vertical polarization component that has the same magnitude as itshorizontal polarization component.

The spatially-varying properties of the spatially-varying polarizer 810make it possible to identify a position or possible positions where thelinear polarization component 824 impinged. The spatially-varyingpolarizer 810 passes filtered light 830 as illustrated in FIG. 9. Anintensity of the filtered light 830 in either the horizontal or thevertical polarization is representative of a position or possiblepositions where the linear polarization component 824 impinged on thespatially-varying polarizer 810. The filtered light 830 has the highestvertical polarization magnitude when the linear polarization component824 impinges on the first end 826. The vertical polarization magnitudemay be inversely proportional to a distance from the first end 826.

The filtered light 830 then impinges on the second linear polarizer 808,which operates to remove any horizontal component of the filtered light830 and pass vertical light components. The second linear polarizer 808passes a filtered linear polarization component 832. The second linearpolarizer 808 may ensure that light passed through to the photodiode 806exclusively includes vertically polarized light and excludeshorizontally polarized light.

The photodiode 806 receives the filtered linear polarization component832 and detects an intensity of the filtered linear polarizationcomponent 832. The intensity of the filtered linear polarizationcomponent 832 is representative of the position or set of positions onwhich light 818 impinged on the spatially-varying polarizer 810 and,consequently, the angle-sensitive photodiode structure 804.

It is noted that the specific polarizations described with reference toFIG. 9 are made by way of example to facilitate description. Inalternative embodiments, different polarizers, polarizations orpolarization patterns may be employed. For example, in place of linearpolarization, the first and second linear polarizers 812, 808 and thespatially-varying polarizer 810 may utilize circular polarization,elliptical polarization or any other type of polarization.

Referring back to FIG. 8, the size and position of the aperture 816dictates the size of the light spot 822 formed on the angle-sensitivephotodiode structure 804. The intensity detected by the photodiode 806is representative of the intensity of the light spot 822 having passedthrough (or having been filtered by) the first and second linearpolarizers 812, 808 and the spatially-varying polarizer 810. Theintensity of the light spot 822 may be the sum of the intensities of therays of light constituting the light spot 822. The fact that linearpolarization components 824 of the light spot 822 impinge on an area ofthe spatially-varying polarizer 810 rather than one point lendsadditional degrees of freedom in the design of the spatially-varyingpolarizer 810 to enable improved position detection. Thespatially-varying polarizer 810 may have properties that change byregion to enable improved position detection of the light spot 822.

It is noted that in some embodiments, one of the first and second linearpolarizers 812, 808 may be dispensed with. In an embodiment, the firstlinear polarizer 812 may be dispensed with and only horizontallypolarized light may be emitted for position or angle determination.

In an embodiment, improved position detection may be achieved by using aphotodiode 806 having multiple regional cells.

FIG. 10 shows the first linear polarizer 812, spatially-varyingpolarizer 810 and second linear polarizer 808 of the angle-sensitivephotodiode structure 804 and a polarization of the light 818 or lightspot 822 passing therethrough to reach the photodiode 806. In FIG. 10,the photodiode 806 is a quadrant cell (“quad-cell”) photodiode thatincludes four separate photodiode active areas or elements 802 a-802 dseparated by a small gap. It should be appreciated that other types ofangle sensitive detectors may also be used, such as photodiode detectorswith fewer or more cells, position sensitive detectors (PSDs), etc.

The active area (e.g., anode) of each element 802 a-802 d isindividually available so that a light spot illuminating a singlequadrant can be electrically characterized as being in that quadrantonly. The light spot's energy is distributed between adjacent elements802 a-802 d, and the difference in electrical contribution to eachelement defines the relative position of the light spot with respect tothe center of the angle sensitive detector. The relative intensityprofile over the elements 802 a-802 d may be used to determine theposition of the light spot in combination with the relative intensityprofile of the spatially-varying polarizer 810.

In an embodiment, the spatially-varying polarizer 810 may be switchedoff to identify a baseline intensity. The spatially-varying polarizer810 may be coupled to a controller. The controller, which may be amicrocontroller or a microprocessor, among others, or the one or morecontrollers 182 or the processor 502 described herein, may switch on oroff the spatially-varying polarizer 810. When the spatially-varyingpolarizer 810 is switched on, the spatially-varying polarizer 810filters light as described herein. Conversely, when thespatially-varying polarizer 810 is switched off, the spatially-varyingpolarizer 810 may cease polarization filtering and instead pass thelinear polarization component 824 as is.

When the spatially-varying polarizer 810 is switched off, the photodiode806 detects an intensity of the light 818 (or light spot 822) withoutthe attenuation performed by the spatially-varying polarizer 810 incombination with the first and second linear polarizers 812, 808. Thedetected intensity may serve as a baseline intensity or maximum detectedintensity. The baseline intensity or maximum detected intensity maycorrespond to the intensity of light 818 impinging on the first end 826.

When the spatially-varying polarizer 810 is switched on, the photodiode806 detects an intensity of the light 818 (or light spot 822) withposition dependent polarization filtering in place. The relationshipbetween the detected intensity of the light 818 (or light spot 822) whenposition-dependent polarization filtering is in place with the baselineintensity is indicative of a position or a set of position where thelight 818 impinged on the angle-sensitive photodiode structure 804.

As described herein, the polarization conversion performed by thespatially-varying polarizer 810 in combination with the filtering of thefirst and second linear polarizers 812, 808 results in spatially-varyingamplitude (or intensity) attenuation of the light 818. The amplitude (orintensity) are, in turn, detected by the photodiode 806 and used forposition determination.

FIGS. 11A and 11B show top and perspective views, respectively, of anexample angle sensitive detector 1100 that may be used in one or more ofthe implementations of the present disclosure. In this example, theangle sensitive detector 1100 comprises a quadrant cell (“quad-cell”)photodiode that includes four separate photodiode active areas orelements 1102A-1102D separated by a small gap on a common substrate1104. It should be appreciated that other types of angle sensitivedetectors may also be used, such as photodiode detectors with fewer ormore cells, position sensitive detectors, etc.

In the non-limiting illustrated example, the active area (e.g., anode)of each element 1102A-1102D is individually available so that a lightspot illuminating a single quadrant can be electrically characterized asbeing in that quadrant only. As the light spot is translated across theangle sensitive detector 1100, the light spot's energy is distributedbetween adjacent elements 1102A-1102D, and the difference in electricalcontribution to each element defines the relative position of the lightspot with respect to the center of the angle sensitive detector. Therelative intensity profile over the elements 1102A-1102D may be used todetermine the position of the light spot.

In this simplified example, the angle sensitive detector 1100 includes acover 1110 that has an aperture 1108 therein that allows light 1114 froma light source 1112 to pass therethrough. As shown, the light 1114 thatpasses through the aperture 1108 forms a light spot 1106 can beelectrically characterized to determine the angle of the light 1114, andtherefore the angle of the light source 1112, relative to the anglesensitive detector 1100. As discussed below, the systems and methods ofthe present disclosure may utilize a plurality of light sources andangle sensitive detectors to determine the position of components of anHMD system.

It should be appreciated that the angle sensitive detectors of thepresent disclosure may include one or more of any suitable type ofdetectors, including quad-cell photodiode detectors, position-sensitivedetectors (PSDs) that utilize resistive sheets, photodiode detectorswith fewer (e.g., 2) or more (e.g., 16) independent sensitive elements,or any other detector able to detect the angle of arrival of lightemitted from a light source. Further, as discussed below, in at leastsome implementations the angle sensitive detectors or light sources ofthe present disclosure may utilize various optical components, such asfilters, lenses, polarizers, etc., to improve the functionality of thesystems and methods discussed herein.

FIG. 12 is a simplified diagram of an environment 1200 of an HMD systemthat uses light sources and angle sensitive detectors to determine theposition of components of an HMD system, according to one non-limitingillustrated implementation. In this example, a first component 1202,such as a HMD, includes a plurality of light sources 1206 (two shown,1206 a and 1206 b), and a second component 1204, such as a controller ofan HMD system, includes a plurality of angle sensitive detectors 1208(two shown, 1208 a and 1208 b). The angle sensitive detectors 1208 a and1208 b are separated from each other on the second component 1204 by aknown distance d₁, and the light sources 1206 a and 1206 b are separatedfrom each other on the first component 1202 by a known distance d₂. Thefirst and second components may be any components of an HMD system, suchas an HMD, controller, base station, stationary or mobile light sources,stationary or mobile angle sensitive detectors, etc.

In this example, the angle sensitive detector 1208 a is operative todetermine that light arrives from the light source 1206 a at an angle1210, and light arrives from the light source 1206 b at an angle 1212.Similarly, the angle sensitive detector 1208 b is operative to determinethat light arrives from the light source 1206 b at an angle 1214, andlight arrives from the light source 1206 a at an angle 1216. Given thedetected angles of arrival 1210, 1212, 1214, and 1216, and the knowngeometric relationships (e.g., distances d₁ and d₂) between the lightsources 1206 and detectors 1208, methods (e.g., triangulation) may beused to determine and track the relative position, orientation, ormovement between the first component 1202 and the second component 1204.As discussed above, one or more solvers or machine learning methods maybe used to determine the position of components using sensor data fromangle sensitive detectors and/or light source data indicatinginformation regarding the light sources of the HMD system.

FIG. 13 is an illustration 1300 of an example light source 1302 andangle sensitive detector 1304 of the present disclosure. The lightsource 1302 and angle sensitive detector 1304 may be similar oridentical to any of the light sources and angle sensitive detectorsdiscussed herein, and may be used in any of the implementations of thepresent disclosure. In the illustrated example, the light source 1302may include an optical subsystem 1306 and the angle sensitive detector1304 may include an optical subsystem 1308. The optical subsystems 1306and 1308 may be the same or different from each other, and may eachinclude one or more optical components. The optical subsystems 1306 and1308 may be integrated with the light source 1302 and angle sensitivedetector 1304, or may be separate components. Non-limiting examples ofoptical components include one or more lenses, one or more polarizers,one or more filters, one or more apertures, etc. In at least someimplementations, a subset of light sources may include one type ofoptical subsystem, and one or more other subsets of light sources mayinclude another type of optical subsystem. Similarly, a subset of anglesensitive detectors may include one type of optical subsystem, and oneor more other subsets of angle sensitive detectors may include anothertype of optical subsystem. As an example, the optical subsystems maycomprise filters that filter out visible light or other types of light.Further as discussed above, the optical subsystems may includecomponents that facilitate one or more of the various types ofmultiplexing discussed above that allow for multiple light sources to beilluminated simultaneously without confusion regarding the source of theemitted light.

FIG. 14 is an illustration 1400 of a scatter detection module or scatterdetector 1402 of the present disclosure, which may be used to determinewhether light received by one or more optical detectors (e.g., anglesensitive or other types of detectors) has been reflected or scatteredbefore being received by the one or more optical detectors. Using suchinformation, the at least one processor may be operative to ignore lightdata determined to be scattered or reflected light signals, since suchsignals are not directly indicative of the position of the light sourcefrom which the signals were emitted. In at least some implementations,the scatter detector 1402 may be a separate component used inconjunction with one or more optical detectors used for positiontracking. In other implementations, the scatter detector 1402 may beintegrated into one or more optical detectors (e.g., angle sensitivedetectors) used for position tracking. One or more scatter detectors1402 may be used in any of the embodiments of the present disclosure.Further, various machine-learning or artificial intelligence-basedmethods may be used to process the scatter detector data improve theposition tracking capabilities of the tracking systems of the presentdisclosure. For example, machine-learning or other AI methods may beused to train the tracking system to use polarization information tohelp improve tracking fidelity.

In the non-limiting illustrated example, the scatter detector 1402 isshown and first and second light sources 1408 and 1410 are also shown.In practice, there may be numerous scatter detectors and numerous lightsources. As a non-limiting example, the scatter detector 1402 may bepositioned on one of an HMD and a controller, and the light sources 1408and 1410 may be positioned on the other of the HMD and the controller.In at least some implementations, one or more of the scatter detector1402 and the light sources 1408 and 1410 may be positioned on or coupledto a fixed object (e.g., wall, ceiling, stand) or movable object (e.g.,HMD, controller). The scatter detector 1402 and light sources 1408 and1410 may be similar or identical to any of the light sources and scatterdetectors discussed herein, and may be used in any of theimplementations of the present disclosure.

In the illustrated example, the scatter detector 1402 may include anoptical detector 1404, which may optionally be an angle sensitivedetector, and an optical subsystem 1406. The light source 1408 mayinclude a light emitter 1412 (e.g., LED) and an optical subsystem 1414that emit light 1420, and the light source 1410 may include a lightemitter 1416 and an optical subsystem 1414 that emit light 1422. Some orall of the optical subsystems 1406, 1414, and 1418 may be the same ordifferent from each other, and may each include one or more opticalcomponents. The optical subsystems 1406, 1414, and 1418 may beintegrated with the detector 1404 and light sources 1408 and 1410,respectively, or may be separate components. Non-limiting examples ofoptical components include one or more lenses, one or more polarizers,one or more wave retarders, one or more filters, one or more apertures,etc. In at least some implementations, a subset of light sources mayinclude one type of optical subsystem, and one or more other subsets oflight sources may include another type of optical subsystem. Similarly,a subset of scatter detectors 1402 may include one type of opticalsubsystem, and one or more other subsets of scatter detectors mayinclude another type of optical subsystem. As an example, the opticalsubsystems may comprise filters that filter out visible light or othertypes of light. Further as discussed above, the optical subsystems mayinclude components that facilitate one or more of the various types ofmultiplexing discussed above that allow for multiple light sources to beilluminated simultaneously without confusion regarding the source of theemitted light.

The design of the optical subsystems 1406, 1414, and 1418 may becoordinated such that the scatter detector 1402 is operative to detectwhether light from the light sources 1408 and 1410 has been scattered orreflected, or whether the light reached the scatter detector directlywithout scattering or reflection. For example, the scatter detector 1402may be operative to detect a change in the type or degree ofpolarization of light emitted by the light sources due to scattering orreflection. In the illustrated example, the light 1420 from the lightsource 1408 is received directly by the scatter detector 1402, whilelight 1422 from the light source 1410 is reflected off of a surface 1423as light 1424 which is received by the scatter detector 1402. In thisexample, the light 1420 is indicative of the relative position of thelight source 1408 with respect to the scatter detector 1402, whereas thelight 1424 reflected from the surface 1423 is not indicative of therelative position of the light source 1410 with respect to the scatterdetector 1402. Accordingly, by detecting that the light 1424 has beenscattered or reflected, the tracking system may ignore or reject lightsignals from one or more sensors when performing position tracking, suchas sensors that are positioned an oriented similar to the scatterdetector, thereby improving the position tracking capabilities of thesystem.

There are a number of configurations that may allow the scatter detector1402 to be able to detect whether light from a light source has beenscattered or reflected, and therefore should be ignored by one or moredetectors. Generally, in at least some implementations the light emittedby the light sources 1408 and 1410 may be polarized in a determined wayby the optical systems 1414 and 1418, respectively, and the scatterdetector 1402 may be configured to discriminate between light that isreceived directly from the light sources 1408 and 1410 and light fromthe light sources that is scattered or reflected before being receivedby the scatter detector. For example, the type or degree of polarizationof light from the light sources may be altered as a result of scatteringor specular reflection, and the scatter detector 1402 may be configuredto detect such changes. As one non-limiting example, the opticalsubsystems 1414 and 1418 of the light sources 1408 and 1410,respectively, may comprise one of right-handed or left-handed circularpolarizers, and the optical subsystem 1406 of the scatter detector 1402may include the other of a right-handed or left-handed circularpolarizer. For instance, the optical subsystems 1414 and 1418 of thelight sources 1408 and 1410, respectively, may comprise right-handedcircular polarizers, and the optical subsystem 1406 of the scatterdetector 1402 may comprise a left-handed circular polarizer. In thisconfiguration, the optical subsystem 1406 of the scatter detector 1402may be used to detect light that has been reflected off of adepolarizing surface (e.g., has random polarization) or light that hasbeen reflected off of a non-depolarizing surface (e.g., glass, metal,acrylic, etc.) and is left-circular polarized after the reflection. Ifsuch light is above a determined threshold, the tracking system mayignore signals from one or more detectors that are determined to havelikely also received the reflected or scattered light.

An example of this configuration is shown in an illustration 1500 ofFIG. 15, which shows a scatter detector 1502 and a light source 1504.The light source 1504 includes a light emitter 1506 (e.g., LED) and anoptical subsystem that comprises a right-handed circular polarizer 1508.The circular polarizer 1508 in this implementation comprises linearpolarizer 1510 and a quarter-wave retarder or wave plate 1512, andprovides light 1522 having right-handed circular polarization.

The scatter detector 1502 includes an optical detector 1514 (e.g.,quad-cell detector, single cell detector) and an optical subsystem thatcomprises a left-handed circular polarizer 1516. The left-handedcircular polarizer 1516 comprises a quarter-wave retarder or wave plate1518 and a linear polarizer 1520. Since the scatter detector 1502includes a circular polarizer that is opposite handed from the circularpolarizer 1508 of the light sources, the scatter detector will detectlight that has been reflected via specular reflection due to thehandedness of the reflected circularly polarized light switching to theopposite handedness (i.e., from right-handed to left-handed in thisexample).

In operation, when the scatter detector 1502 detects light that has beenscattered or reflected (e.g., above a determined threshold), thetracking system may reject or ignore light from one or more opticalsensors that may have likely received the same light (e.g., sensors thatare positioned or oriented similar to the scatter detector).

FIG. 16 shows information 1600 illustrating a front view of an exampleHMD device 1644 when worn on the head of a user 1642. The HMD device1644 includes a front-facing structure 1643 that supports a front-facingor forward camera 1646 and a plurality of angle sensitive detectors 1648a-1648 f (collectively 1648) of one or more types. As one example, someor all of the angle sensitive detectors 1648 may assist in determiningthe location and orientation of the device 1644 in space, such as lightsensors to detect and use light information emitted from one or moreexternal devices (not shown, e.g., base stations 214 of FIG. 2,controllers). The angle sensitive detectors 1648 may be any type ofdetector operative to detect the angle of arrival of light emitted froma light source. Non-limiting examples of angle sensitive detectorsinclude photodiode detectors (e.g., bi-cell detectors, quadrant celldetectors), position sensitive detectors that use resistive sheets, etc.

As shown, the forward camera 1646 and the angle sensitive detectors 1648are directed forward toward an actual scene or environment (not shown)in which the user 1642 operates the HMD device 1644. More generally, theangle sensitive detectors 1648 may be directed toward other areas (e.g.,upward, downward, left, right, rearward) to detect light from varioussources, such as controllers (e.g., held by the user 1642) or objectsmounted at various locations (e.g., wall, ceiling). The actual physicalenvironment may include, for example, one or more objects (e.g., walls,ceilings, furniture, stairs, cars, trees, tracking markers, lightsources, or any other types of objects). The particular number ofsensors 1648 may be fewer (e.g., 2, 4) or more (e.g., 10, 20, 30, 40)than the number of sensors depicted. The HMD device 1644 may furtherinclude one or more additional components that are not attached to thefront-facing structure (e.g., are internal to the HMD device), such asan IMU (inertial measurement unit) 1647 electronic device that measuresand reports the HMD device's 1644 specific force, angular rate, and/orthe magnetic field surrounding the HMD device (e.g., using a combinationof accelerometers and gyroscopes, and optionally, magnetometers). TheHMD device 1644 may further include additional components that are notshown, including one or more display panels and optical lens systemsthat are oriented toward eyes (not shown) of the user and thatoptionally have one or more attached internal motors to change thealignment or other positioning of one or more of the optical lenssystems and/or display panels within the HMD device.

The illustrated example of the HMD device 1644 is supported on the headof user 1642 based at least in part on one or more straps 1645 that areattached to the housing of the HMD device 1644 and that extend wholly orpartially around the user's head. While not illustrated here, the HMDdevice 1644 may further have one or more external motors, such asattached to one or more of the straps 1645, and automated correctiveactions may include using such motors to adjust such straps in order tomodify the alignment or other positioning of the HMD device on the headof the user. It will be appreciated that HMD devices may include othersupport structures that are not illustrated here (e.g., a nose piece,chin strap, etc.), whether in addition to or instead of the illustratedstraps, and that some embodiments may include motors attached one ormore such other support structures to similarly adjust their shapeand/or locations to modify the alignment or other positioning of the HMDdevice on the head of the user. Other display devices that are notaffixed to the head of a user may similarly be attached to or part ofone or structures that affect the positioning of the display device, andmay include motors or other mechanical actuators in at least someembodiments to similarly modify their shape and/or locations to modifythe alignment or other positioning of the display device relative to oneor more pupils of one or more users of the display device.

The HMD device 1644 also includes a plurality of scatter detectors 1650,1652 and 1666. The scatter detectors 1650, 1652 and 1666 may be similaror identical to any of the scatter detectors discussed herein, and maybe operative detect whether light 1660, 1664, and 1672 from lightsources 1658, 1662 and 1670, respectively, that are associated with theHMD device 1644 has been reflected or scattered off of a surface priorto reaching the HMD device. As discussed above, upon detection thatlight that has been scattered, sensor data from one or more sensorsdetermined to have likely received the same light may be ignored.

In at least some implementations, a single scatter detector may beprovided for all of the detectors 1648. In other implementations, aseparate scatter detector may be provided for each of the detectors1648, or a scatter detector may be included as part of one or more ofthe detectors 1648. In the illustrated simplified example, the scatterdetector 1650 that is positioned on a right side of the front-facingstructure 1643 corresponds to detectors 1648 a, 1648 b, and 1648 e,which are used to detect light from light sources (e.g., light source1658) in a region 1654 to the right side of the user 1642. That is, ifthe scatter detector 1650 detects light that has been reflected orscattered, the tracking system may ignore signals from one or more ofthe detectors 1648 a, 1648 b, and 1648 e determined to have likelyreceived the same light due to their similar orientation as the scatterdetector 1650. Similarly, the scatter detector 1652 that is positionedon left right side of the front-facing structure 1643 corresponds todetectors 1648 c, 1648 d, and 1648 g, which are used to detect lightfrom light sources (e.g., light source 1662) in a region 1656 to theleft side of the user 1642. The scatter detector 1666 on an upper regionof the front-facing structure 1643 corresponds to detector 1648 f, whichis used to detect light from light sources (e.g., light source 1670) ina region 1668 that is above the user 1642. As discussed above,multiplexing (e.g., time, wavelength, pattern) may be used to allow thesystem to know which light source or group of light sources the light isreceived from by the detectors 1648, 1650, 1652 and 1666.

FIG. 17 shows a perspective view of a scatter detector 1700 that may beused in one or more of the implementations of the present disclosure. Inthis non-limiting example, the scatter detector 1700 comprises aquadrant cell (“quad-cell”) photodiode that includes four separatephotodiode active areas or elements 1702A-1702D separated by a small gapon a common substrate 1704. It should be appreciated that other types ofdetectors may also be used, such as photodiode detectors with fewer ormore cells, position sensitive detectors, etc.

In the non-limiting illustrated example, the active area (e.g., anode)of each element 1702A-1702D is individually available so that a lightspot illuminating a single quadrant can be electrically characterized asbeing in that quadrant only. As the light spot is translated across thedetector 1700, the light spot's energy is distributed between adjacentelements 1702A-1702D, and the difference in electrical contribution toeach element defines the relative position of the light spot withrespect to the center of the detector. The relative intensity profileover the elements 1702A-1702D may be used to determine the position ofthe light spot.

In this simplified example, the detector 1700 includes a cover 1710 thathas an aperture 1708 therein that allows light 1714 from a light source1712 to pass therethrough. As shown, the light 1714 that passes throughthe aperture 1708 forms a light spot 1706 can be electricallycharacterized to determine the angle of the light 1714, and thereforethe angle of the light source 1712, relative to the detector 1700. Asdiscussed below, the systems and methods of the present disclosure mayutilize a plurality of light sources and detectors to determine theposition of components of an HMD system.

In the illustrated example, a first circular polarizer 1716 ispositioned proximate (e.g., adjacent) the light source 1712, and asecond polarizer 1718 is positioned proximate the detector 1700. In atleast some implementations the light emitted by the light source 1712may be polarized in a determined way by the first circular polarizer1716 and the second circular polarizer 1718 of the scatter detector 1700may be configured to discriminate between light that is receiveddirectly from the light source 1712 and light from the light source thatis scattered or reflected before being received by the scatter detector1700. As one non-limiting example, one of the first and second circularpolarizers 1716 and 1718, respectively, may comprise one of right-handedor left-handed circular polarizers, and the other of the first andsecond circular polarizers 1716 and 1718 may include the other of aright-handed or left-handed circular polarizer. For instance, the firstcircular polarizer 1716 of the light source 1712 may comprise aright-handed circular polarizer, and the second circular polarizer 1718of the scatter detector 1700 may comprise a left-handed circularpolarizer. In this configuration, the second circular polarizer 1718 ofthe scatter detector 1700 may be used to detect light that has beenreflected off of a depolarizing surface (e.g., has random polarization)or light that has been reflected off of a non-depolarizing surface(e.g., glass, metal, acrylic, etc.) and is left-circular polarized afterthe reflection. If such light is above a determined threshold, thetracking system may ignore signals from one or more detectors that aredetermined to have likely also received the reflected or scatteredlight.

The foregoing detailed description has set forth various implementationsof the devices and/or processes via the use of block diagrams,schematics, and examples. Insofar as such block diagrams, schematics,and examples contain one or more functions and/or operations, it will beunderstood by those skilled in the art that each function and/oroperation within such block diagrams, flowcharts, or examples can beimplemented, individually and/or collectively, by a wide range ofhardware, software, firmware, or virtually any combination thereof Inone implementation, the present subject matter may be implemented viaApplication Specific Integrated Circuits (ASICs). However, those skilledin the art will recognize that the implementations disclosed herein, inwhole or in part, can be equivalently implemented in standard integratedcircuits, as one or more computer programs running on one or morecomputers (e.g., as one or more programs running on one or more computersystems), as one or more programs running on one or more controllers(e.g., microcontrollers) as one or more programs running on one or moreprocessors (e.g., microprocessors), as firmware, or as virtually anycombination thereof, and that designing the circuitry and/or writing thecode for the software and or firmware would be well within the skill ofone of ordinary skill in the art in light of this disclosure.

Those of skill in the art will recognize that many of the methods oralgorithms set out herein may employ additional acts, may omit someacts, and/or may execute acts in a different order than specified.

In addition, those skilled in the art will appreciate that themechanisms taught herein are capable of being distributed as a programproduct in a variety of forms, and that an illustrative implementationapplies equally regardless of the particular type of signal bearingmedia used to actually carry out the distribution. Examples of signalbearing media include, but are not limited to, the following: recordabletype media such as floppy disks, hard disk drives, CD ROMs, digitaltape, and computer memory.

The various implementations described above can be combined to providefurther implementations. To the extent that they are not inconsistentwith the specific teachings and definitions herein, all of the U.S.patents, U.S. patent application publications, U.S. patent applications,foreign patents, foreign patent applications and non-patent publicationsreferred to in this specification, including U.S. provisional patentapplication Ser. No. 62/971,181 filed on Feb. 6, 2020, are incorporatedherein by reference, in their entirety. Aspects of the implementationscan be modified, if necessary, to employ systems, circuits and conceptsof the various patents, applications and publications to provide yetfurther implementations.

These and other changes can be made to the implementations in light ofthe above-detailed description. In general, in the following claims, theterms used should not be construed to limit the claims to the specificimplementations disclosed in the specification and the claims, butshould be construed to include all possible implementations along withthe full scope of equivalents to which such claims are entitled.Accordingly, the claims are not limited by the disclosure.

The invention claimed is:
 1. An angle sensitive detector, comprising: afirst polarizer operative to receive and filter light from a lightsource; a spatially-varying polarizer optically aligned with the firstpolarizer, the spatially-varying polarizer including a polarizationpattern configured to uniquely differentiate incident light by itsincidence angle relative to the angle sensitive detector; a secondpolarizer optically aligned with the spatially-varying polarizer toreceive and filter light received from the spatially-varying polarizer;and a photodetector positioned to receive light from the secondpolarizer, the photodetector operative to output at least one intensitysignal that is indicative of the incidence angle of the incident lightrelative to the angle sensitive detector.
 2. The angle sensitivedetector of claim 1 wherein the spatially-varying polarizer comprises aliquid crystal material.
 3. The angle sensitive detector of claim 1wherein the spatially-varying polarizer comprises a multi-twistretarder.
 4. The angle sensitive detector of claim 1 wherein thespatially-varying polarizer is operative to be switched off and, whenthe spatially-varying polarizer is switched off, the spatially-varyingpolarizer is operative to cease changing the polarization of theincident light.
 5. The angle sensitive detector of claim 1 wherein thespatially-varying polarizer comprises a phase retarder.
 6. The anglesensitive detector of claim 1 wherein the spatially-varying polarizerprovides linear polarization at a first end, and gradually increases theretardance toward a second end opposite the second end.
 7. The anglesensitive detector of claim 6 wherein the spatially-varying polarizerprovides quarter wave retardance at the second end.
 8. The anglesensitive detector of claim 1 wherein the first polarizer and the secondpolarizer each comprise linear polarizers.
 9. The angle sensitivedetector of claim 1 wherein the first polarizer and the second polarizereach comprise linear polarizers having the same polarizationorientation.
 10. An angle sensitive detector, comprising: a firstpolarizer configured to: receive light; filter the light; and output afirst component of the filtered light; a spatially-varying polarizerhaving a position-varying polarizing pattern that defines a plurality ofpolarization conversion properties respectively associated with aplurality of positions, the plurality of polarization conversionproperties being operative to change a polarization of the firstcomponent differently depending on a position where the first componentimpinges on the spatially-varying polarizer, the spatially-varyingpolarizer being configured to: receive the first component at a firstposition of the plurality of positions; change the polarization of thefirst component in accordance with a first polarization conversionproperty, associated with the first position, of the plurality ofpolarization conversion properties; and output a polarization-convertedfirst component; a second polarizer configured to: receive thepolarization-converted first component; filter thepolarization-converted first component; and output a second component ofthe polarization-converted first component; and a photodetectorconfigured to: receive the second component; detect the intensity of thesecond component; and output data representative of the intensity of thesecond component, the data representative of the intensity of the secondcomponent usable to determine the first position.
 11. The anglesensitive detector of claim 10 wherein the spatially-varying polarizercomprises a liquid crystal material.
 12. The angle sensitive detector ofclaim 10 wherein the spatially-varying polarizer comprises a multi-twistretarder.
 13. The angle sensitive detector of claim 10 wherein theposition-varying polarizing pattern comprises a linear polarizer at afirst end, a circular polarizer at a second end opposite the first end,and a gradual change between the linear polarizer and the circularpolarizer between the first end and the second end.
 14. The anglesensitive detector of claim 10, wherein the first polarizer uniformlyfilters the light irrespective of where the light impinges on the firstpolarizer.
 15. The angle sensitive detector of claim 10, wherein thesecond polarizer uniformly filters the polarization-converted firstcomponent irrespective of where the polarization-converted firstcomponent impinges on the second polarizer.
 16. The angle sensitivedetector of claim 10, wherein the spatially-varying polarizer isoperative to be switched off and, when the spatially-varying polarizeris switched off, the spatially-varying polarizer is operative to ceasechanging the polarization of the first component.
 17. The anglesensitive detector of claim 10, wherein the photodetector is asingle-cell photodiode.
 18. The angle sensitive detector of claim 10,wherein the photodetector is a multi-cell photodiode having a pluralityof cells operative to detect a respective intensity of the secondcomponent in each cell of the plurality of cells.
 19. The anglesensitive detector of claim 10, wherein the light is emitted by a basestation or a mobile object.
 20. The angle sensitive detector of claim10, wherein the first polarizer and the second polarizer have the samelight filtering properties.